//将状态码转换为文字
export const stateNumToWord = (arr) => {
  arr.forEach((item) => {
    if (item.AttValue[7] == 0) {
      item.AttValue[7] = '未处理';
    } else if (item.AttValue[7] == 1) {
      item.AttValue[7] = '进行中';
    } else {
      item.AttValue[7] = '已处理';
    }
  });
};
// 处理折线图数据,将数据按月份分类
export const handleLineChartData = (data) => {
  const result = data.reduce((acc, item) => {
    const dateStr = item.AttValue[3]; // '2018.11.13 9:30'
    const month = dateStr.split('.')[1]; // Extract the month part
    if (acc[month]) {
      acc[month]++;
    } else {
      acc[month] = 1;
    }

    return acc;
  }, {});
  for (let i = 1; i <= 12; i++) {
    const month = i.toString().padStart(2, '0'); // Ensure month is in 'MM' format
    if (!result[month]) {
      result[month] = 0;
    }
  }

  // 将键从数字形式的月份转换为中文形式的月份
  const monthNames = [
    '1月',
    '2月',
    '3月',
    '4月',
    '5月',
    '6月',
    '7月',
    '8月',
    '9月',
    '10月',
    '11月',
    '12月',
  ];
  const finalResult = {};

  for (let i = 0; i < monthNames.length; i++) {
    const monthNumber = (i + 1).toString().padStart(2, '0');
    finalResult[monthNames[i]] = result[monthNumber];
  }
  return finalResult;
};
//将原始多维数组转换为由对象组成的数组
export const arrToObjArr = (data, keysArr) => {
  return data
    .map((item) => item.AttValue)
    .map((values) => {
      return keysArr.reduce((acc, key, index) => {
        acc[key] = values[index];
        return acc;
      }, {});
    });
};
